package com.chaoxing.mapper;

import com.chaoxing.entity.Charts;
import com.chaoxing.entity.Course;
import com.chaoxing.util.PageUtil;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface CourseMapper {


    //导入一门课程，不填写全部信息
    int insert(Course record);

    //导入一门课程，填写全部信息
    int insertSelective(Course record);
    int selectCourseNo(String courseno);

    //通过id查询课程
    Course selectByPrimaryKey(Long id);

    //通过课程编号查询课程
    Course searchCourseNo(String courseno);

    //通过课程名称查询课程
    Course searchCourseName(String coursename);

    //有选择的通过id更新
    int updateByPrimaryKeySelective(Course record);

    //通过id更新
    int updateByPrimaryKey(Course record);

    //查看所有的课程
//    List<Course> searchALLCourses();

    //查询属于某个学院的课程
    List<Course> searchCollegeCourses(@Param("faculty")String faculty,
                                      @Param("index") int pageNo,@Param("pageSize") int pageSize);

    //通过学院和课程名称查询课程
    List<Course> searchCollegeCurriculumCourses(@Param("faculty") String faculty,
                                                @Param("coursename") String coursename);

    //通过学院和课程编号查询课程
    List<Course> searchCollegeNoCourse(@Param("faculty") String faculty,
                                       @Param("courseno") String courseno);

    //单个删除
    int deleteByPrimaryKey(Integer id);

    //批量删除
    int deleteCoursesByPrimaryKey(List<Integer> ids);

    //分页查询
//        查询所有课程。1页10条
    List<Course> queryCoursePage();
    //分页查询，为了第一页之后的数据
    List<Course> selectAllCourse(@Param("index")Integer  pageNo,@Param("pageSize") Integer pageSize);

    //查询全部课程ID
    List<Charts> queryAllIDByCourse();
}
